package com.rybbaby.tss.front.tssAppUser.entity;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date;

/**
 * @author 谢进伟
 * @description tss App 端用户
 * @createDate 2018-01-24 23:10
 */
@Entity
@Table(name = "tss_app_user")
@DynamicUpdate(true)
@DynamicInsert(true)
public class TssAppUser  implements Serializable {

    /** 主键 **/
    private String id;
    /** 主键 **/
    private String phoneNum;
    /** 登录密码 **/
    private String password;
    /** 客户姓名 **/
    private String name;
    /** 头像 **/
    private String avatar;
    /** 激活App端客户型号 **/
    private String registerClientSysType;
    /** 创建时间 **/
    private Timestamp createTime;
    /** 昵称 **/
    private String nickName;
    /** 性别 **/
    private Integer sex;
    /** 出生日期 **/
    private java.util.Date birthdayDate;
    /** 所属省 **/
    private String addressProvince;
    /** 所属城市 **/
    private String addressCity;
    /** 所属城区 **/
    private String addressRegion;
    /** 家庭地址 **/
    private String familyAddress;
    /** 创建时间 **/
    private Timestamp updateTime;
    /** 版本 **/
    private Integer version;

    @Id
    @GeneratedValue(generator = "tss_app_userIDGenerator", strategy = GenerationType.AUTO)
    @GenericGenerator(name = "tss_app_userIDGenerator", strategy = "uuid")
    @Column(name = "id", nullable = false, length = 32)
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @Column(name = "phoneNum")
    public String getPhoneNum() {
        return phoneNum;
    }

    public void setPhoneNum(String phoneNum) {
        this.phoneNum = phoneNum;
    }

    @Column(name = "password")
    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Column(name = "name")
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Column(name = "avatar")
    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    @Column(name = "createTime")
    public Timestamp getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Timestamp createTime) {
        this.createTime = createTime;
    }

    @Column(name = "registerClientSysType")
    public String getRegisterClientSysType() {
        return registerClientSysType;
    }

    public void setRegisterClientSysType(String registerClientSysType) {
        this.registerClientSysType = registerClientSysType;
    }

    @Column(name = "nickName")
    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    @Column(name = "sex")
    public Integer getSex() {
        return sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    @Column(name = "birthdayDate")
    public Date getBirthdayDate() {
        return birthdayDate;
    }

    public void setBirthdayDate(Date birthdayDate) {
        this.birthdayDate = birthdayDate;
    }

    @Column(name = "addressProvince")
    public String getAddressProvince() {
        return addressProvince;
    }

    public void setAddressProvince(String addressProvince) {
        this.addressProvince = addressProvince;
    }

    @Column(name = "addressCity")
    public String getAddressCity() {
        return addressCity;
    }

    public void setAddressCity(String addressCity) {
        this.addressCity = addressCity;
    }

    @Column(name = "addressRegion")
    public String getAddressRegion() {
        return addressRegion;
    }

    public void setAddressRegion(String addressRegion) {
        this.addressRegion = addressRegion;
    }

    @Column(name = "familyAddress")
    public String getFamilyAddress() {
        return familyAddress;
    }

    public void setFamilyAddress(String familyAddress) {
        this.familyAddress = familyAddress;
    }

    @Column(name = "updateTime")
    public Timestamp getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Timestamp updateTime) {
        this.updateTime = updateTime;
    }

    @Version
    @Column(name = "version")
    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }
}
